package com.fjec.market.view;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Data
public class InfoYseapyRegVO {

    /**
     * 主键Id
     */
    private Long id;

    /**
     * 商户类型 2=果农	3=分拣厂	4=农资厂	5=包装物厂	6=采购商
     */
    private Integer busiType;

    /**
     * 商户Id
     */
    private Long busiId;

    /**
     * 客户类型 O=小微	B=企业	C=个体
     */
    private String custType;

    /**
     * 商户简称
     */
    private String anotherName;

    /**
     * 公司名称或客户名称 客户类型是小微商户时客户名称需和身份证号码、法人手机号码匹配
     */
    private String custName;

    /**
     * 商户属性 11=普通商户	12=代理商户	不填的情况下默认为普通商户
     */
    private String merFlag;

    /**
     * 行业类别 详细类别见3.6节的定义
     */
    private String industry;

    /**
     * 省
     */
    private Map<String, Object> province;

    /**
     * 市
     */
    private Map<String, Object> city;

    /**
     * 区
     */
    private Map<String, Object> county;
    /**
     * 省
     */
//    private String provKey;
//    private String provName;
    /**
     * 市
     */
//    private String cityKey;
//    private String cityName;

    /**
     * 区
     */
//    private String countyKey;
//    private String countyName;
    /**
     * 省市区字符串
     */
    private String pccStr;

    /**
     * 详细地址
     */
    private String companyAddr;

    /**
     * 企业法人名字 需和身份证号码、法人手机号码匹配，当客户类型为小微商户是，企业法人可以为空
     */
    private String legalName;

    /**
     * 企业法人手机号码
     */
    private String legalTel;

    /**
     * 企业法人证件类型 支持类型请参照3.7小节
     */
    private String legalCertType;

    /**
     * 企业法人证件号 请加密传输 注：使用DES加密，密钥Src用户号前8位，不足8位前补空
     */
    private String legalCertNo;

    /**
     * 企业法人证件有效期 格式为yyyyMMdd。为空时默认长期有效
     */
    private String legalCertExpire;

    /**
     * 营业执照 客户类型为个体商户、企业户时为必填，为保证商户信息准确，请填写有效营业执照号
     */
    private String busLicense;

    /**
     * 营业执照有效期 客户类型为个体商户、企业商户时为必填，格式为yyyyMMdd
     */
    private String busLicenseExpire;

    /**
     * 通知方式 此通知为商户号审核通知，通知内容包含帐号信息，为空的情况下将不发送通知，支持通知方式	1=邮箱	2=手机短信	3=邮箱+手机短信	使用空
     */
    private String notifyType;

    /**
     * 结算方式 0=平台内账户	1=银行卡账户	结算方式	为0时银行卡信息只涉及提现	为1时涉及到提现以及清算	使用1
     */
    private String settleType;

    /**
     * 银行帐号 当bank_account_type为对公账户时，该属性字段长度可以为String(1;32)
     */
    private String bankAccountNo;

    /**
     * 开户人 银行卡账户名，需和法人姓名或客户姓名一致
     */
    private String bankAccountName;

    /**
     * 银行账户类型 此处必填：corporate :对公账户;personal:对私账户
     */
    private String bankAccountType;

    /**
     * 银行卡类型 可填：debit借记卡，credit贷记卡，unit单位结算卡
     */
    private String bankCardType;

    /**
     * 开户行Code
     */
    private String bankCode;

    /**
     * 开户行名称 为交易能顺利进行，请尽可能填写到街道
     */
    private String bankName;

    /**
     * 银行行别
     */
    private String bankType;

    /**
     * 银行行别文字
     */
    private String bankTypeName;

    /**
     * 开户行所在的省份
     */
    private String bankProvKey;
    private String bankProvText;

    /**
     * 开户行所在城市
     */
    private String bankCityKey;
    private String bankCityText;

    /**
     * 开户人证件类型 目前只支持00;00为身份证
     */
    private String certType;

    /**
     * 开户人证件号码 请加密传输
     */
    private String certNo;

    /**
     * 银行预留手机号
     */
    private String bankTelephoneNo;

    /**
     * 商户进件状态
     * 0=草稿
     * 1=未进件
     * 2=进件中
     * 3=进件成功
     * 4=进件失败
     * 5=线下进件中
     * 6=线下进件成功
     * 7=线下进件失败
     */
    private Integer regStatus;

    /**
     * 最后进件时间
     */
    private LocalDateTime regTime;

    /**
     * 最后进件结果
     */
    private String regResult;

    /**
     * 用户名
     */
    private String userCode;

    /**
     * 客户ID
     */
    private String custId;

    /**
     * 用户状态
     */
    private String userStatus;

    /**
     * 客户状态
     */
    private String custStatus;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 法人和银行开户人是否是一个
     */
    private boolean samePerson;

    /**
     * 营业执照是否是长期
     */
    private boolean licLongTerm;


    private Long id101;
    private String url101;
    private String b101;
    private Long id102;
    private String url102;
    private String b102;
    private Long id103;
    private String url103;
    private String b103;
    private Long id104;
    private String url104;
    private String b104;
    private Long id105;
    private String url105;
    private String b105;
    private Long id106;
    private String url106;
    private String b106;
    private List<Map<String, Object>> list107;
    private Long id108;
    private String url108;
    private String b108;
}
